Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge upstream #5

Open
wants to merge 10 commits into
base: master
Choose a base branch
from
Open

Merge upstream #5

wants to merge 10 commits into from

Conversation

4eUeP
Copy link
Member

@4eUeP 4eUeP commented May 28, 2024

No description provided.

j6carey and others added 10 commits September 25, 2023 07:49
For now stack support lags behind.
We want to inline the field number because it
is often a constant.  But by forcing the entire
fold to be INLINE, not just the field number,
we force an impossible choice on proto3-suite:
inline nothing or everything.  Therefore we
leave the actual folds merely INLINABLE.
(If that is insufficient control then we
may have to expose a more complex API.)

Also give the compiler more discretion
about whether to inline varints.
* Bump upper bounds

* cabal build all components by default
v1.4.3: support GHC 9.6, 9.8

Skip GHC 9.0+Darwin due to crypton problem.
When encoding from a Data.Vector.Vector this library
would already encode from right to left in order to
avoid saving all but the final element to the stack.
The relevant encoders would also exploit the fact
that vectors have known element counts in order to
consolidate size checks and associated reallocations
when encoding packed fields with fixed-width elements.

This change adds new encoders that generalize those
two optimizations to other types of container such as
`Data.Sequence.Seq`.  When a container does not support
right-to-left iteration and/or length prediction
(for example, a standard list), these new encoders
still support them as efficiently as is practical,
given those restrictions.

Also added:
  * bytesIfNonempty
  * etaMessageBuilder
  * repeatedMessageBuilder
  * unsafeFromByteString
  * unsafeFromShortByteString
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants